#ifndef MAPPING_UTIL_H
#define MAPPING_UTIL_H

INLINE mapping_t *mapTraverse(mapping_t *, int (*) (mapping_t *, mapping_node_t *, void *), void *);
void free_node(mapping_t *, mapping_node_t *);
INLINE mapping_t *allocate_mapping2(array_t *, svalue_t *);
mapping_t *mkmapping(array_t *, array_t *);
INLINE void mapping_delete(mapping_t *, svalue_t *);
svalue_t *find_string_in_mapping(mapping_t *, char *);
void map_mapping(svalue_t *, int);
void filter_mapping(svalue_t *, int);
array_t *mapping_values(mapping_t *);
void add_mapping_shared_string(mapping_t *, char *, char *);

#endif
